Hi,
I'm currently experimenting with Fourier-Series as isosurface-functions.
For those who don't know what Fourier-Series are, short explanation:
The theory behind Fourier-Series is that every (periodic) function can
be represented through addition of sine/cosine-waves with variable
amplitude and a frequency that is an integer multiple of a certain
base frequency. The increasing multiples of the base frequencies are
called the harmonics of the basic tone. The amplitudes of the harmonics
are the Fourier-coefficients. Now, one can approximate a function by
adding just the first few (of usually infinite) harmonics. The more
harmonics one adds the better the approximation is.
This concept is very much used in audio-applications (e.g. mp3, EQs).
My thought was, that it should now be possible to represent every
possible 3D-shape through a set of 3 Fourier-series (one for each axis).
That's the big target :)
One could do cool filtering of 3D-Shapes and morphing from every possible
3d-shape to every other just by interpolating its Fourier-coefficients.
How cool would that be? =)
For now i've started to test a bit around with 'classic' Fourier-series
for functions like pulse,sawtooth,triangle,etc...
and for each axis the same function which makes it a symmetric shape like
a cube.
I've appended 2 pics which show what i have achieved so far.
The first shows 7 distinct Fourier-series (from left to right):
1.Square(symmetry like cosine)
2.Square(symmetry like sine)
3.Triangle
4.Parabol
5.Sphere
6.Superellipsoid-like shape (no true SE)
7.an unnamed interesting series i found
From the bottom to the top row the maximum harmonics taken into account
increase. The bottom row is just the basic tone. The top row consists of
the basic tone and 9 harmonics. The only exception is the first square
function. Due to some technical issues it gets 2 harmonics per row, so
the first has two and the last 20.
I'd like to hear what you think about the idea and if someone had the same
idea or perhaps even tried something like this before.
Greetings
Thies Heidecke
Post a reply to this message
Attachments:
Download 'fourier3d_samples.png' (131 KB)
Download 'Fourier3D_rough.png' (79 KB)
Preview of image 'fourier3d_samples.png'
![fourier3d_samples.png](/povray.binaries.images/attachment/%3C3c7bb095%40news.povray.org%3E/fourier3d_samples.png?preview=1)
Preview of image 'Fourier3D_rough.png'
![Fourier3D_rough.png](/povray.binaries.images/attachment/%3C3c7bb095%40news.povray.org%3E/Fourier3D_rough.png?preview=1)
|